socat -d -d  tcp4-listen:8900,reuseaddr,fork tcp4:10.5.5.10:3389
socat -d -d  tcp4-listen:8901,reuseaddr,fork tcp4:10.120.0.208:3389
socat -d -d  tcp4-listen:8902,reuseaddr,fork tcp4:10.120.0.209:3389
socat -d -d  tcp4-listen:8903,reuseaddr,fork tcp4:10.5.5.10:1433
socat -d -d  tcp4-listen:8904,reuseaddr,fork tcp4:10.5.0.10:3389

socat -d -d  tcp4-listen:8910,reuseaddr,fork tcp4:192.168.168.94:3389
socat -d -d  tcp4-listen:8911,reuseaddr,fork tcp4:10.5.10.8:3389
socat -d -d  tcp4-listen:8912,reuseaddr,fork tcp4:10.5.10.9:22 

socat -d -d  tcp4-listen:80,reuseaddr,fork tcp4:10.5.5.10:8080
------------------------------------------------------------------
211.136.182.2378888-8912       10.5.0.11:8888-8912
211.136.182.2373389       10.5.0.83:3389
211.136.182.237110        10.5.0.10:110
211.136.182.23725         10.5.0.10:25

                      
211.136.182.237 5972 10.5.0.70 5972                          
211.136.182.237 25999 10.5.0.52 25999 
                       
211.136.182.237 9900 10.5.5.10 9900   
211.136.182.237 9901 10.5.5.20 9901                           
211.136.182.237 8080 10.5.5.10 8080                             
211.136.182.237 1433 10.5.5.11 1433 

211.136.182.237 5972 10.5.0.70  5972
211.136.182.237 25999  10.5.0.52  25999




˵е,µŵһsocat.
쿴һ,netcat(nc)ⶫmsѾNûά.иnc110Ķ,̫ռ, ǶȥĶĹ.¶ûκνεRHEL5Ҳnc110ĳ.֧һnetcat,googleֱnetcat׳,Ҳöû˶ˡЩ,ʹsocatӦ˶.ȻѾ˺ö,Ҳʶ
socatԼnetcatõ÷,Ա:
1. tcp 12345˿
# nc -l 127.0.0.1 12345
# socat tcp-listen:12345 -
2. Զtcp 12345˿ڷ
# echo test | nc 127.0.0.1 12345
# echo test | socat - tcp-connect:127.0.0.1:12345
3. udp 23456˿
# nc -u -l 127.0.0.1 23456
# socat udp-listen:23456 -
4. Զudp 23456˿ڷ
# echo test | nc -u 127.0.0.1 23456
# echo test | socat - udp-connect:127.0.0.1:23456
5. unix socket /tmp/unix.socket
# nc -U -l /tmp/unix.socket
netcatû-Uѡ
# socat unix-listen:/tmp/unix.socket -
6. 򱾵unix socket /tmp/unix.socket
# echo test | nc -U /tmp/unix.socket
netcatû-Uѡ
# echo test | socat - unix-connect:/tmp/unix.sock
7. unix datagram socket /tmp/unix.dg.sock
nc110㲻,netcatҲ㲻
# socat unix-recvfrom:/tmp/unix.dg.sock -
8. 򱾵unix datagram socket /dev/log
nc110㲻,netcatҲ㲻
# echo test | socat - unix-sendto:/tmp/unix.dg.sock



ڶƪһˣ
linuxʵUDP˿ӳ
ԭӣ http://www.hiadmin.com/?tag=socat

һʵ
snmp˿ĬΪUPD 161ط޷ֱӷʱҪõ˿ӳ
ͬ⻹dnsUPD 53˿ڡ
ʹncӳUPD˿
豻طIPΪ192.168.1.1ڶ˿ӳΪĳIP59.1.1.1ҪӳĶ˿ΪUDP 161ת˿Ϊ1161Զ彨1024϶˿ڣ
ڶ˿ӳϲҪװncһϵͳᰲװ
עncڰȫ©һҪ趨ǽ
ʹmkfifoܵļ
#mkfifo /tmp/snmpfifo
ͨnc˿ӳ -lΪģʽ -uΪUDP -pΪض˿ڣ161˿ӳ䵽ص1161˿ϣ
#nc -l -u -p 1161 < /tmp/snmpfifo | nc -u 192.168.1.1 161 > /tmp/snmpfifo
鿴netstat 1161Ƿ
#netstat -nlp |grep :1161
udp     0      0 0.0.0.0:1161       0.0.0.0:*          31472/nc

ڼطϽвǷܲɼݣ
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
....
#snmpwalk -c public -v2c 59.1.1.1:1161 if

趨ɹһncĶ˿ÿһӾͻ𣬲ȡһȽϱİ취дrestart.shűcrontabÿִһΣ
Ҫԭ潲socatʱģ
snmpɼû⣬dnsͲ
nc汾socatʵUDP˿ӳ
صַhttp://www.dest-unreach.org/socat/download/
װ޷Ǿconfigure make make install
socatҪص֮佨֧ͨڶЭӷʽip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,socket
ﲻһһ
ȤԲ鿴ٷĵhttp://www.dest-unreach.org/socat/doc/socat.html
˵˵ʹsocatUPD˿ӳ
#socat udp4-listen:11161,reuseaddr,fork UDP:[طIP]:161
udp4-listenڱؽһudp ipv4Эļ˿ڣ
reuseaddr󶨱һ˿ڣ
fork趨ģʽһӱԶһͬĶ˿ٽм

עncΪȱforkģʽÿμֻܴһӡ
socatһǿϣⷽͬһѧϰõĹߣ
psncʽsocatʽģʽǰռһshellںִ̨лʹscreenߵȵȣ




socatٷĵhttp://www.dest-unreach.org/socat/doc/socat.html

-------------------

    socatһnetcat(nc)aƷԷQnc++socatcڃɂ֮gһpͨsocatĵַͺ ࣬ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,ȵȡһӣ

    c:\>socat - tcp:192.168.1.18:80

    @ͬ nc 192.168.1.18 80 socate棬ЃɂԵһ-˜ʵݔݔڶBӵ192.168.1.1880˿ڡٿһtelnetӣ

    on server:
    c:\>socat tcp-listen:23 exec:cmd,pty,stderr

    @cmd˿23ͬrcmdStderrضstdout

    on client:
    c:\>socat readline tcp:server:23

    Bӵ23˿ڣɫ@һcmd shellreadlinegnuо݋Кvʷܡ

    ٿļfӡncҲÁfļncһȱcǲ֪ļʲNrˣһҪCtrl+cKֹ߹Ӌһrg-w׌ԄӽKֹsocatͲ@N韩ˣ

    on host 1:
    c:\>socat -u open:myfile.exe,binary tcp-listen:999

    on host 2:
    c:\>socat -u tcp:host1:999 open:myfile.exe,create,binary

    @ļmyfile.exeöMƵķʽhost 1 host 2-u ʾӣĵһڶ-UʾĵڶһļˣԄ˳

    فһϲgõӡһNAThΏⲿBӵȲһ˿أֻҪ܉ڃȲ\socatͿˡ

    ⲿ
    c:\>socat tcp-listen:1234 tcp-listen:3389

    Ȳ
    c:\>socat tcp:outerhost:1234 tcp:192.168.12.34:3389

    @ӣⲿCϵ3389ӰڃȲW192.168.12.343389˿ϡ

    socat߀һصxܣ磺

    c:\>socat open:read.txt!!open:write.txt,create,append tcp-listen:80,reuseaddr,fork

    @Fһٵweb server͑B^֮ᣬͰread.txteăݰl^ȥͬrѿ͑Ĕ浽write.txte档̖Ñρxǰx춌

